Skip to content

Conversation

@openroad-ci
Copy link
Collaborator

This PR increases the timing-driven maximum weight for instances that are part of the 10% worst slack nets. The value has been raised from 1.9 to 5.

Gpl balances HPWL and overflow (density) during placement. The modified timing-driven weight increases movement based on HPWL rather than overflow. In other words, this adjustment prioritizes instances with the worst slacks to be placed closer together.

Experiments showed that increasing this value too much leads to higher wirelength. I believe this happens because we currently apply the weight to all instances in a bad slack net. A more precise approach would be to apply the weight only to problematic instances (thanks to @povik for identifying this important detail in Gpl’s timing-driven mode).

The 10% threshold is also adjustable via a TCL script, but increasing it does not appear to improve slacks.

gudeh added 4 commits March 17, 2025 07:41
Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@gudeh
Copy link
Contributor

gudeh commented Mar 17, 2025

I have made a table with data from the dashboard showing the impact on tns and wirelength with the percentage difference between master and this change. Looking at the column for setup TNS after GPL, improvements seem larger than degradations.

Furthermore, this change should unblock @AcKoucher change with mpl-soft-sa-resizing, which presented a large slack degradation for a gf12 private design. I performed tests with multiple TD max weight values on such design, and 5 seems to help with the issue without increasing wirelength too much.

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@maliberty maliberty merged commit 48ea2d3 into The-OpenROAD-Project:master Mar 20, 2025
11 checks passed
@maliberty maliberty deleted the gpl-modify-td-max-weight branch March 20, 2025 21:43
@gudeh
Copy link
Contributor

gudeh commented Mar 20, 2025

This change showed to reduce the slack presented on bp_single at #6697 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants